package Controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.io.IOException;

import javax.swing.JOptionPane;

import Modelo.Estudiante;
import Modelo.Profesor;
import Vista.VistaEstudiante;
import Vista.VistaPrincipal;
import Vista.VistaProfesor;

public class CntrlProfesor extends WindowAdapter implements ActionListener {

	VistaPrincipal vistaPrincipal;
	VistaProfesor vistaProfesor;
	
	public CntrlProfesor(VistaProfesor vProf)
	{
		vistaProfesor=vProf;
	
	}
	
	
	public void actionPerformed(ActionEvent ae) {
		if(ae.getSource()==vistaProfesor.btnRegistrar){
			boolean valida=false;
			valida=validarCampos();
			if(valida){
			Profesor profesor=new Profesor();
			profesor.setCedula(Integer.parseInt(vistaProfesor.txtCedula.getText()));
			profesor.setNombre(vistaProfesor.txtNombre.getText());
			profesor.setApelllido(vistaProfesor.txtApellido.getText());
			profesor.setTitulo(vistaProfesor.txtTituloA.getText());
			
			try {
				vistaPrincipal.secc.asignarProfesor(profesor);
			} catch (IOException e) {
				e.printStackTrace();
			}	
			limpiar();
			JOptionPane.showMessageDialog(null, "El PROFESOR HA SIDO REGISTRADO", 
					"REGISTRO", 
					JOptionPane.INFORMATION_MESSAGE);
			
		}
		else
			JOptionPane.showMessageDialog(null, "DEBES LLENAR TODOS LOS LOS CAMPOS", 
					"REGISTRO", 
					JOptionPane.INFORMATION_MESSAGE);
		}
		
		if(ae.getSource()==vistaProfesor.btnLimpiar){
			limpiar();
		}
		if(ae.getSource()==vistaProfesor.btnSalir){
			vistaProfesor.dispose();
		}
		if(ae.getSource()==vistaProfesor.btnBuscar){
			Profesor profesor=new Profesor();
			
			if (!vistaProfesor.txtCedula.getText().equals("")) {
				 if(vistaPrincipal.secc.getProfesor()!=null){
			        try {
			        	profesor=vistaPrincipal.secc.getProfesor();
					} catch (NumberFormatException e) {
						e.printStackTrace();
					}
					vistaProfesor.txtNombre.setText(profesor.getNombre());
					vistaProfesor.txtApellido.setText(profesor.getApelllido());
					vistaProfesor.txtTituloA.setText(profesor.getTitulo());
				    }
				    else{
				    	 JOptionPane.showMessageDialog(null, "El PROFESOR NO EXISTE", 
									"BUSQUEDA", 
									JOptionPane.INFORMATION_MESSAGE);
				    	activar();
				 		

	                       }

                                                        }
		                                           
		}
	}
	private boolean validarCampos(){
		boolean sw= false;
		if ((!vistaProfesor.txtCedula.getText().equals("")) && (!vistaProfesor.txtNombre.getText().equals("")) && (!vistaProfesor.txtApellido.getText().equals(""))&& (!vistaProfesor.txtTituloA.getText().equals("")))
		    sw=true;
		return sw;
		
	}
	private void limpiar() {
		vistaProfesor.txtCedula.setEditable(true);
		vistaProfesor.txtCedula.setText("");
		vistaProfesor.txtNombre.setText("");
		vistaProfesor.txtApellido.setText("");
		vistaProfesor.txtTituloA.setText("");
		desActivar();
	}
	private void desActivar(){
		vistaProfesor.txtNombre.setEnabled(false);
		vistaProfesor.txtApellido.setEnabled(false);
		vistaProfesor.btnRegistrar.setEnabled(false);
		vistaProfesor.txtCedula.requestFocus(true);
	}
	private void activar(){
		vistaProfesor.txtNombre.setEditable(true);;
		vistaProfesor.txtApellido.setEditable(true);
		vistaProfesor.btnLimpiar.setEnabled(true);
		vistaProfesor.btnRegistrar.setEnabled(true);
		vistaProfesor.txtNombre.requestFocus(true);
	}

}
